﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Fcdbas.Platform.Interface
{
    public interface ITranslate<IForm,DlgResult,BtnType,IconType,DefaultType,IWin32>
    {
        string AppName { get; set; }
        string LanguageType { get; set; }
        string MsgTitle { get; set; }
        void TranslateForm(string formName, IForm frm);
        /// <summary>
        /// 翻译词条
        /// </summary>
        /// <param name="fromName"></param>
        /// <param name="Word"></param>
        /// <returns></returns>
        string XlateWord(string fromName, string Word);
        /// <summary>
        /// 翻译信息代码。
        /// </summary>
        /// <param name="msgCode">消息代码</param>
        /// <param name="msgAdd">消息参数，多个参数之间用","分开</param>
        /// <returns>目标语言对应的消息内容</returns>
        string XlateMessage(string msgCode, string msgAdd);
        /// <summary>
        /// 显示对话框。
        /// </summary>
        /// <param name="msgCode">消息代码</param>
        /// <returns>选择结果</returns>
        DlgResult ShowMessage(string msgCode);
        /// <summary>
		/// 显示对话框。
		/// </summary>
		/// <param name="msgCode">消息代码</param>
		/// <param name="msgAdd">消息参数，多个参数之间用","分开</param>
		/// <returns>选择结果</returns>
        DlgResult ShowMessage(string msgCode, string msgAdd);

        DlgResult ShowMessage(string msgCode, string msgAdd,BtnType btnType);
        DlgResult ShowMessage(string msgCode, string msgAdd, BtnType btnType,IconType iconType);
        DlgResult ShowMessage(string msgCode, string msgAdd, BtnType btnType, IconType iconType,DefaultType defaultType);
        DlgResult ShowMessage(IWin32 owner, string msgCode, string msgAdd, BtnType btnType, IconType iconType, DefaultType defaultType);
    }
}
